Planera-för-api
Plan-ahead API:et är avsett för att skicka scheman i förväg. För livekontroll, se istället Live MQTT control.
Vad du behöver
- Ett API-användarnamn och lösenord. Du kan använda ditt Insights-konto för detta, eller begära ett API-konto genom att skicka ett e-postmeddelande till support@eniris.be, där du tydligt nämner ditt enhetsserienummer.
- Python utvecklingsmiljö (eller någon annan MQTT-klient). Denna guide använder ett enkelt exempel skrivet i Python för att hjälpa dig komma igång med MQTT och skicka kommandon. Vi rekommenderar att använda Python för användarvänligheten, men alla andra MQTT-klienter stöds.
Första gången konfiguration (Startpunkt för nya användare)
1. Hitta enhets-ID:erna för de enheter som du vill kontrollera
Enhets-ID:t (även kallat nodeId) är en unik identifierare för varje enhet i vårt system och används när man skickar kommandon till enheter.
Just nu är det enklaste sättet att få dina ID:n genom att navigera till:
http://<CONTROLLER_IP>/debugger
Expandera rutan 'Metadata' och notera varje nodeId från alla enheter som du vill kontrollera. Du kommer att behöva dessa ID:n i ett senare steg.

2. Lägg till dina enheter
Logga in på installationsgränssnittet och se till att enheterna är tillagda till SmartgridOne Controller.
3. Lägg till API extern signal




4. Ange insamlare-token
Ange helt enkelt SmartgridOne Controller's serienummer här och klicka på skicka.
5. Välj enheter att inkludera
På denna sida har du möjlighet att inkludera/exkludera enheter för fjärrkontroll. Se till att markera alla kryssrutor för de enheter du vill inkludera.

6. Data källa har lagts till
Fjärrkontrollgränssnittet har nu aktiverats på SmartgridOne Controller. Du kan nu börja skicka dina kommandon till enheterna.
Glöm inte att ställa in ett fallback-regime på SmartgridOne Controller! Ett lokalt kontrolläge behöver konfigureras utöver de externa API-signaler du skickar. Lokal kontroll används som en fallback om SmartgridOne Controller tappar internet eller om det finns andra orsaker som gör att API-signalen inte kan nå SmartgridOne Controller.
Skicka fjärrkontrollkommandon med Python
Nedan finns ett Python-exempel på hur man kontrollerar solenergi eller batteri.
Kolla in dokumentet Applikationsguide - Fjärrinställningar för en mer komplett förklaring med alla policys.
Krävd paket:
pip install eniris
# %% Imports
from eniris import ApiDriver
from eniris.point import Point
from eniris.point.writer import (PointDuplicateFilter, DirectPointToTelemessageWriter)
from eniris.telemessage.writer import PooledTelemessageWriter
from datetime import datetime, timezone
# %% Konstant
COMMAND_UNTIL = '2024-04-16T10:26:00+02:00' # ÅÅÅÅ-MM-DDTHH:MM:SS+00:00
SN = '<ERSTATTA>'
COMMAND = fields = {'policy': 2, 'powerSetpoint_W': 0.0} # 0: Standard (självförbrukning); 2: Följ-inställning
# %% Starta nedskärning
curtail_until = datetime.fromisoformat(COMMAND_UNTIL).astimezone(timezone.utc)
print(f'Följande kommando tills: {curtail_until}')
apiUsername = "<ERSTATTA>"
apiPassword = "<ERSTATTA>"
# Skapa en API-drivrutin och en punktförfattare med önskad funktionalitet
driver = ApiDriver(apiUsername, apiPassword)
writer = PointDuplicateFilter(
DirectPointToTelemessageWriter(
PooledTelemessageWriter(
authorizationHeaderFunction=driver.accesstoken,
params={"u": SN},
)
)
)
namespace = {'database': 'SGC', 'retentionPolicy': 'rp_one_s'}
tags = {
"serialNr": SN,
"nodeId": '<ERSTATTA>',
}
writer.writePoints([Point(namespace, 'remoteControlSignals', curtail_until, tags, fields)])
writer.flush()
print('Skickat')
Var särskilt uppmärksam på:
- 'COMMAND_UNTIL': Detta är en tidsstämpel med tidszon som anger sluttiden för ditt kommando.
- 'COMMAND': Detta bör ändras beroende på vilket kommando du vill utföra.
- T.ex.: för batterier, policy 2 med powerSetpoint_W på 1000 kommer att ladda batteriet med 1 kW.
- För solenergi, policy 2 med powerSetpoint_W på 0 kommer att inaktivera solproduktion.
- Efter att ditt kommando har avslutats, kommer det automatiskt att återgå till standardkontroll (som konfigurerats i SmartgridOne Controller).
- (mer avancerade policys stöds, men har inte lagts till i denna guide än)
- 'tags' variabeln: Denna bör ändras enligt SmartgridOne Controller SN, där nodeId bör ställas in på det enhets-ID som extraherades i ett tidigare steg av denna handledning.
Kolla in dokumentet Applikationsguide - Fjärrinställningar för en mer komplett förklaring med alla policys.